home *** CD-ROM | disk | FTP | other *** search
- /* GadTools layout toolkit
- **
- ** Copyright © 1993-1995 by Olaf `Olsen' Barthel
- ** Freely distributable.
- */
-
- #include "gtlayout_global.h"
-
- #ifdef DO_FRACTION_KIND
- VOID LIBENT
- LT_Fixed2String(REG(d0) FIXED fixed,REG(d1) STRPTR buffer)
- {
- sprintf(buffer,"%ld%lc%ld",fixed / FIXED_UNITY,LTP_Locale ? LTP_Locale -> loc_DecimalPoint[0] : '.',fixed % FIXED_UNITY);
- }
- #endif
-
-
- /*****************************************************************************/
-
-
- #ifdef DO_FRACTION_KIND
-
- FIXED LIBENT
- LT_String2Fixed(REG(a0) STRPTR buffer)
- {
- UBYTE localBuffer[20];
- UBYTE decimalPoint;
- LONG i,left,right;
-
- if(LTP_Locale)
- decimalPoint = LTP_Locale -> loc_DecimalPoint[0];
- else
- decimalPoint = '.';
-
- strcpy(localBuffer,buffer);
-
- i = 0;
-
- while(buffer[i])
- {
- if(localBuffer[i] == decimalPoint)
- {
- localBuffer[i] = 0;
-
- if(i)
- left = LTP_Atol(localBuffer);
- else
- left = 0;
-
- if(localBuffer[i + 1])
- {
- UBYTE rest[4];
-
- CopyMem(&localBuffer[i + 1],rest,3);
-
- rest[3] = 0;
-
- right = LTP_Atol(rest);
- }
- else
- right = 0;
-
- return((FIXED)(left * FIXED_UNITY + right));
- }
-
- i++;
- }
-
- left = LTP_Atol(localBuffer);
-
- return((FIXED)(left * FIXED_UNITY));
- }
- #endif
-
-
- /*****************************************************************************/
-
-
- #ifdef DO_FRACTION_KIND
- ULONG LIBENT
- LT_FixedMult(REG(d0) FIXED fixed,REG(d1) ULONG factor)
- {
- return((fixed * factor) / FIXED_UNITY);
- }
- #endif
-